/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.documentar.controller;

import br.com.documentar.interfacee.InterfaceController;
import br.com.documentar.model.DocumentoDocumentoModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Santos
 */
public class DocumentoDocumentoController implements InterfaceController<br.com.documentar.model.DocumentoDocumentoModel> {

    private final br.com.documentar.DAO.DocumentoDocumentoDAO dao = new br.com.documentar.DAO.DocumentoDocumentoDAO();

    @Override
    public DocumentoDocumentoModel getModel() {
        return new br.com.documentar.model.DocumentoDocumentoModel();
    }

    @Override
    public DefaultTableModel insertTableModel(DocumentoDocumentoModel model) {
        model.getModelTable().setNumRows(0);

        for (br.com.documentar.model.DocumentoDocumentoModel p : dao.getDados(model)) {

            model.getModelTable().addRow(new Object[]{
                //documento origem
                p.getDocumentoOrigem().getProduto().getCodigo() + " - " + p.getDocumentoOrigem().getProduto().getNome(),
                p.getDocumentoOrigem().getCategoriaVersao().getVersao().getCodigo() + " - " + p.getDocumentoOrigem().getCategoriaVersao().getVersao().getNome(),
                p.getDocumentoOrigem().getCategoriaVersao().getCategoria().getCodigo() + " - " + p.getDocumentoOrigem().getCategoriaVersao().getCategoria().getNome(),
                p.getDocumentoOrigem().getCategoriaVersao().getTelaModel().getCodigo() + " - " + p.getDocumentoOrigem().getCategoriaVersao().getTelaModel().getNome(),
                p.getDocumentoOrigem().getCodigo() + " - " + p.getDocumentoOrigem().getNomeCampo(),
                //documento destino
                p.getDocumentoDestino().getProduto().getCodigo() + " - " + p.getDocumentoDestino().getProduto().getNome(),
                p.getDocumentoDestino().getCategoriaVersao().getVersao().getCodigo() + " - " + p.getDocumentoDestino().getCategoriaVersao().getVersao().getNome(),
                p.getDocumentoDestino().getCategoriaVersao().getCategoria().getCodigo() + " - " + p.getDocumentoDestino().getCategoriaVersao().getCategoria().getNome(),
                p.getDocumentoDestino().getCategoriaVersao().getTelaModel().getCodigo() + " - " + p.getDocumentoDestino().getCategoriaVersao().getTelaModel().getNome(),
                p.getDocumentoDestino().getCodigo() + " - " + p.getDocumentoDestino().getNomeCampo(),});
        }
        return model.getModelTable();
    }

    @Override
    public DefaultTableModel getDadosTableModel(DocumentoDocumentoModel model) {
        return insertTableModel(model);
    }

    @Override
    public boolean setDados(DocumentoDocumentoModel model) {
        return dao.setDados(model);
    }

    @Override
    public DefaultComboBoxModel getDadosComboBoxModel(DocumentoDocumentoModel model) {
        return insertComboBoxModel(model);
    }

    @Override
    public DefaultComboBoxModel insertComboBoxModel(DocumentoDocumentoModel model) {
        for (br.com.documentar.model.DocumentoDocumentoModel p : dao.getDados(model)) {
            model.getModelComboBox().addElement(p.getDocumentoOrigem());
        }
        return model.getModelComboBox();
    }
}
